﻿Imports System
Imports System.Runtime.CompilerServices
Imports System.Runtime.InteropServices

Namespace Google.Desktop.Interop
    <ComImport, Guid("B7BC8A9B-DC73-42D4-AB7D-17178619C8E4"), TypeLibType(CShort(&H1040))> _
    Public Interface IGoogleDesktopRegistrar
        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H406)> _
        Sub StartComponentRegistration(<[In](), MarshalAs(UnmanagedType.BStr)> ByVal component_guid_or_progid As String, <[In](), MarshalAs(UnmanagedType.Struct)> ByVal component_description As Object)

        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H407)> _
        Function GetRegistrationInterface(<[In](), MarshalAs(UnmanagedType.BStr)> ByVal registration_type As String) As <MarshalAs(UnmanagedType.IUnknown)> Object

        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H408)> _
        Sub FinishComponentRegistration()

        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H409)> _
        Sub UnregisterComponent(<[In](), MarshalAs(UnmanagedType.BStr)> ByVal component_guid_or_progid As String)

    End Interface
End Namespace

